<?php
use System\Core\Log;

if (!function_exists('logger')) {
    /**
     * 获取日志实例
     * 
     * @return \System\Core\Log
     */
    function logger() {
        return Log::getInstance();
    }
}

if (!function_exists('log_debug')) {
    /**
     * 记录DEBUG级别日志
     */
    function log_debug($message, array $context = []) {
        logger()->debug($message, $context);
    }
}

if (!function_exists('log_info')) {
    /**
     * 记录INFO级别日志
     */
    function log_info($message, array $context = []) {
        logger()->info($message, $context);
    }
}

if (!function_exists('log_error')) {
    /**
     * 记录ERROR级别日志
     */
    function log_error($message, array $context = []) {
        logger()->error($message, $context);
    }
}

if (!function_exists('log_warning')) {
    /**
     * 记录WARNING级别日志
     */
    function log_warning($message, array $context = []) {
        logger()->warning($message, $context);
    }
}

if (!function_exists('log_critical')) {
    /**
     * 记录CRITICAL级别日志
     */
    function log_critical($message, array $context = []) {
        logger()->critical($message, $context);
    }
}

if (!function_exists('storage_path')) {
    /**
     * 获取存储路径
     * 
     * @param string $path 子路径
     * @return string 完整路径
     */
    function storage_path($path = '') {
        return BASE_PATH . '/storage/' . ltrim($path, '/');
    }
}